package com.biz.primus.ms.oms.service.core;

import com.biz.primus.base.vo.PageResult;
import com.biz.primus.common.vo.SpringPageVO;
import com.biz.primus.model.oms.vo.*;

/**
 *
 * 查询服务: 提供各种方式的订单查询
 *
 *
 * 1. 提供POS的当前门店订单的查询功能
 * 2.
 *
 *
 * @author yanweijin
 * @date 2017/10/18
 */
public interface OrderQueryService {


     /**
      * 线上订单列表查询（查询未完成订单）
      * @param orderQueryVo
      * @return
      */
     PageResult<OmsOrderVo> findOrders(OrderQueryVo orderQueryVo);


     /**
      * 线上订单详情查询
      * @param depotCode
      * @param orderCode
      * @return
      */
     OmsOrderVo orderQueryDetail(String depotCode,String orderCode);

     /**
      * 后台管理订单列表查询
      * @param orderQueryVo
      * @return
      */
     PageResult<OmsOrderVo> managementOrderQuery(OrderQueryVo orderQueryVo);

     /**
      * 后台管理订单详情信息查询（商品明细，退单，支付信息.......）
      * @param orderCode
      * @return
      */
     OmsOrderRespVo getOrderDetail(String orderCode);

     /**
      * 根据会员ID获取历史订单信息
      * @param orderQueryVo
      * @return
      */
     OmsOrderHistoryVo getOrderHistoryInfoByUserId(OrderQueryVo orderQueryVo);

     /**
      * 根据会员Id获取购买过的商品
      * @param orderQueryVo
      * @return
      */
     PageResult<OmsHistoryOrderProductVo>  getOrderProductByUserId(OrderQueryVo orderQueryVo);

     /**
      * 获取可以申请退单的订单信息
      * @param orderCode
      * @return
      */
     OmsOrderRespVo getApplyforReturn(String orderCode);
}
